﻿Imports System.Data
Partial Class AdministrarVacantes
    Inherits System.Web.UI.Page

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        If Page.IsPostBack = False Then
            CargarDataListCargos()
            CargarDataListEstudios()
            cargarGrillaBusquedasVigentes()
            CargarDataListCargosExperiencia()
        End If

        If ddlCargosExperiencia.SelectedValue = 0 Then
            lblOtraExperiencia.Visible = True
            txtExperiencia.Visible = True
        Else
            lblOtraExperiencia.Visible = False
            txtExperiencia.Visible = False
        End If
    End Sub
    Sub CargarDataListCargos()
        Dim ds As New DataSet
        ds = CargosDB.GetCargos
        With ddlCargo
            .DataSource = ds.Tables("Cargos")
            .DataValueField = "id_cargo"
            .DataTextField = "cargo"
            .DataBind()
        End With

    End Sub

    Sub CargarDataListEstudios()
        Dim ds As New DataSet
        ds = EstudiosDB.GetEstudios
        With ddlEstudios
            .DataSource = ds.Tables("Estudios")
            .DataValueField = "id_estudio"
            .DataTextField = "estudio"
            .DataBind()
        End With
    End Sub

    Sub cargarGrillaBusquedasVigentes()
        gvBusquedasVigentes.DataSource = BusquedasDB.GetBusquedas(txtid_vacante.Text)
        gvBusquedasVigentes.DataBind()
    End Sub

    Protected Sub gvBusquedasVigentes_RowDeleting(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewDeleteEventArgs) Handles gvBusquedasVigentes.RowDeleting
        Try
            VacanteDB.EliminarVacante(Convert.ToInt32(gvBusquedasVigentes.DataKeys(e.RowIndex).Values(0).ToString()))
        Catch ex As Exception
            Session("Error") = ex.Message.ToString
            Session("Pagina") = "AdministrarVacantes.aspx"
            Server.Transfer("Errores.aspx")
        End Try
        cargarGrillaBusquedasVigentes()
        limpiar()
    End Sub


    Protected Sub gvBusquedasVigentes_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles gvBusquedasVigentes.SelectedIndexChanged
        txtid_vacante.Text = gvBusquedasVigentes.SelectedDataKey.Values(0).ToString()
        ddlCargo.SelectedValue = gvBusquedasVigentes.SelectedDataKey.Values(1).ToString()
        txtFechaExpiracion.Text = gvBusquedasVigentes.SelectedDataKey.Values(2).ToString()
        txtEdadDesde.Text = gvBusquedasVigentes.SelectedRow.Cells(2).Text.ToString()
        txtEdadHasta.Text = gvBusquedasVigentes.SelectedRow.Cells(3).Text.ToString()
        cargarGrillaExperienciasVacante()
        cargarGrillaEstudiosVacante()
    End Sub

    Sub cargarGrillaExperienciasVacante()
        gvExperiencia.DataSource = BusquedasDB.GetExperienciasBusquedaVigente(txtid_vacante.Text)
        gvExperiencia.DataBind()
    End Sub

    Sub cargarGrillaEstudiosVacante()
        gvEstudios.DataSource = BusquedasDB.GetEstudiosBusquedaVigente(txtid_vacante.Text)
        gvEstudios.DataBind()
    End Sub

    Protected Sub btnAgregarExperiencia_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnAgregarExperiencia.Click
        Try
            Dim id_experiencia As Integer

            If ddlCargosExperiencia.SelectedValue = 0 Then
                id_experiencia = ExperienciaDB.InsertarExperiencia(txtExperiencia.Text)
            Else
                id_experiencia = ddlCargosExperiencia.SelectedValue
            End If

            txtid_vacante.Text = VacanteDB.InsertarRequerimientoVacanteExperiencia(ddlCargo.SelectedValue, txtFechaExpiracion.Text, txtEdadDesde.Text, txtEdadHasta.Text, txtid_vacante.Text, id_experiencia, txtDuracion.Text)
            cargarGrillaExperienciasVacante()
        Catch ex As Exception
            Session("Error") = ex.Message.ToString
            Session("Pagina") = "AdministrarVacantes.aspx"
            Server.Transfer("Errores.aspx")
        End Try
        cargarGrillaBusquedasVigentes()
        gvBusquedasVigentes.SelectedIndex = -1
        cargarGrillaExperienciasVacante()

    End Sub

    Protected Sub btnNuevaBusqueda_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnNuevaBusqueda.Click
        limpiar()
    End Sub

    Sub limpiar()
        txtDescripcionEstudio.Text = ""
        txtDuracion.Text = ""
        txtEdadDesde.Text = ""
        txtEdadHasta.Text = ""
        txtExperiencia.Text = ""
        txtFechaExpiracion.Text = ""
        txtid_vacante.Text = 0
        CargarDataListCargos()
        CargarDataListEstudios()
        cargarGrillaBusquedasVigentes()
        gvEstudios.DataSource = Nothing
        gvEstudios.DataBind()
        gvExperiencia.DataSource = Nothing
        gvExperiencia.DataBind()
        CargarDataListCargosExperiencia()
    End Sub

    Protected Sub btnAgregarEstudio_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnAgregarEstudio.Click
        Try
            txtid_vacante.Text = VacanteDB.InsertarRequerimientoVacanteEstudios(ddlCargo.SelectedValue, txtFechaExpiracion.Text, txtEdadDesde.Text, txtEdadHasta.Text, txtid_vacante.Text, ddlEstudios.SelectedValue, txtDescripcionEstudio.Text)
        Catch ex As Exception
            Session("Error") = ex.Message.ToString
            Session("Pagina") = "AdministrarVacantes.aspx"
            Server.Transfer("Errores.aspx")
        End Try
        cargarGrillaBusquedasVigentes()
        gvBusquedasVigentes.SelectedIndex = -1
        cargarGrillaEstudiosVacante()
    End Sub

    Protected Sub gvExperiencia_RowDeleting(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewDeleteEventArgs) Handles gvExperiencia.RowDeleting
        Try
            VacanteDB.EliminarExperienciaRequerimiento(Convert.ToInt32(gvExperiencia.DataKeys(e.RowIndex).Values(0).ToString()), Convert.ToInt32(gvExperiencia.DataKeys(e.RowIndex).Values(1).ToString()))
            'txtid_vacante.Text = gvBusquedasVigentes.DataKeys(e.RowIndex).Values(0).ToString()
        Catch ex As Exception
            Session("Error") = ex.Message.ToString
            Session("Pagina") = "AdministrarVacantes.aspx"
            Server.Transfer("Errores.aspx")
        End Try
        cargarGrillaExperienciasVacante()

    End Sub

    Protected Sub gvExperiencia_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles gvExperiencia.SelectedIndexChanged

    End Sub

    Protected Sub gvEstudios_RowDeleting(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewDeleteEventArgs) Handles gvEstudios.RowDeleting
        Try
            VacanteDB.EliminarEstudioRequerimiento(Convert.ToInt32(gvEstudios.DataKeys(e.RowIndex).Values(0).ToString()), Convert.ToInt32(gvEstudios.DataKeys(e.RowIndex).Values(1).ToString()))
        Catch ex As Exception
            Session("Error") = ex.Message.ToString
            Session("Pagina") = "AdministrarVacantes.aspx"
            Server.Transfer("Errores.aspx")
        End Try
        cargarGrillaEstudiosVacante()


    End Sub

    Sub CargarDataListCargosExperiencia()
        Dim ds As New DataSet
        ds = ExperienciaDB.GetCargosExperiencias
        With ddlCargosExperiencia
            .DataSource = ds.Tables("Experiencias")
            .DataValueField = "id_experiencia"
            .DataTextField = "experiencia"
            .DataBind()
            .Items.Insert(0, New ListItem("Otro", "0"))
        End With

    End Sub
End Class
